// 命名空间 避免命名冲突
// 里面方法类都是私有的
namespace A {
    interface Animal {
        name:string,
    }
    export class Dog implements Animal {
        name:string
        constructor(name:string) {
            console.log(this.name);
        }
    }
}

namespace B {
    interface Animal {
        name:string,
    }
    export class Dog implements Animal {
        name:string
        constructor(name:string) {
            console.log(this.name);
        }
    }
}

let d = new A.Dog('小花');